ServiceWorkerRegistration
Baseline Widely available *
This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2018.
* Some parts of this feature may have varying levels of support.
Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Das ServiceWorkerRegistration
-Interface der Service Worker API repräsentiert die Registrierung des Service Workers. Sie registrieren einen Service Worker, um eine oder mehrere Seiten zu steuern, die den gleichen Ursprung teilen.
Die Lebensdauer einer Service Worker-Registrierung überdauert die von ServiceWorkerRegistration
-Objekten, die sie innerhalb der Lebensdauer ihrer entsprechenden Service Worker-Clients darstellen. Der Browser führt eine persistente Liste aktiver ServiceWorkerRegistration
-Objekte.
Instanz-Eigenschaften
Erbt auch Eigenschaften von seinem Eltern-Interface, EventTarget
.
ServiceWorkerRegistration.active
Schreibgeschützt-
Gibt einen Service Worker zurück, dessen Zustand
activating
oderactivated
ist. Dies ist anfangs aufnull
gesetzt. Ein aktiver Worker wird einenClient
steuern, wenn die URL des Clients in den Umfang der Registrierung fällt (diescope
-Option, die gesetzt wird, wennServiceWorkerContainer.register
zum ersten Mal aufgerufen wird.) ServiceWorkerRegistration.backgroundFetch
Schreibgeschützt Experimentell-
Gibt eine Referenz auf ein
BackgroundFetchManager
-Objekt zurück, das Hintergrundabrufvorgänge verwaltet. -
Gibt eine Referenz auf die
CookieStoreManager
-Schnittstelle zurück, die das Abonnieren und Abbestellen von Cookie-Änderungsereignissen ermöglicht. ServiceWorkerRegistration.index
Schreibgeschützt Experimentell-
Gibt eine Referenz auf die
ContentIndex
-Schnittstelle zurück, zum Verwalten von indizierten Inhalten für die Offline-Ansicht. ServiceWorkerRegistration.installing
Schreibgeschützt-
Gibt einen Service Worker zurück, dessen Zustand
installing
ist. Dies ist anfangs aufnull
gesetzt. -
Gibt die Instanz von
NavigationPreloadManager
zurück, die mit der aktuellen Service Worker-Registrierung assoziiert ist. ServiceWorkerRegistration.paymentManager
Schreibgeschützt Experimentell-
Gibt die Instanz eines Zahlungs-App
s [
PaymentManager`](/de/docs/Web/API/PaymentManager) zurück, die verwendet wird, um verschiedene Funktionen der Zahlungs-App zu verwalten. ServiceWorkerRegistration.periodicSync
Schreibgeschützt Experimentell-
Gibt eine Referenz auf die
PeriodicSyncManager
-Schnittstelle zurück, die das Registrieren von Aufgaben ermöglicht, die in bestimmten Intervallen ausgeführt werden sollen. ServiceWorkerRegistration.pushManager
Schreibgeschützt-
Gibt eine Referenz auf die
PushManager
-Schnittstelle zurück, um Push-Abonnements zu verwalten, einschließlich Abonnieren, Abrufen eines aktiven Abonnements und Zugreifen auf den Push-Berechtigungsstatus. ServiceWorkerRegistration.scope
Schreibgeschützt-
Gibt einen String zurück, der eine URL repräsentiert, die den Registrierungsumfang eines Service Workers definiert; das bedeutet, den Bereich von URLs, die der Service Worker steuern kann.
ServiceWorkerRegistration.sync
Schreibgeschützt-
Gibt eine Referenz auf die
SyncManager
-Schnittstelle zurück, die Hintergrundsynchronisierungsprozesse verwaltet. ServiceWorkerRegistration.updateViaCache
Schreibgeschützt-
Gibt den Wert der Einstellung zurück, die bestimmt, unter welchen Umständen der Browser den HTTP-Cache heranzieht, wenn er versucht, den Service Worker oder Skripte, die über
importScripts()
importiert werden, zu aktualisieren. Es kann einer der folgenden sein:imports
,all
odernone
. ServiceWorkerRegistration.waiting
Schreibgeschützt-
Gibt einen Service Worker zurück, dessen Zustand
installed
ist. Dies ist anfangs aufnull
gesetzt.
Instanz-Methoden
Erbt auch Methoden von seinem Eltern-Interface, EventTarget
.
ServiceWorkerRegistration.getNotifications()
-
Gibt eine Liste der Benachrichtigungen in der Reihenfolge zurück, in der sie über den aktuellen Ursprung über die aktuelle Service Worker-Registrierung erstellt wurden.
ServiceWorkerRegistration.showNotification()
-
Zeigt die Benachrichtigung mit dem angeforderten Titel an.
ServiceWorkerRegistration.unregister()
-
Hebt die Registrierung des Service Workers auf und gibt ein
Promise
zurück. Der Service Worker wird alle laufenden Operationen abschließen, bevor er registriert wird. ServiceWorkerRegistration.update()
-
Überprüft den Server auf eine aktualisierte Version des Service Workers, ohne die Caches zu konsultieren.
Ereignisse
updatefound
-
Wird ausgelöst, wenn immer die
ServiceWorkerRegistration.installing
-Eigenschaft einen neuen Service Worker erhält.
Beispiele
In diesem Beispiel überprüft der Code zunächst, ob der Browser Service Worker unterstützt, und registriert dann einen, falls ja. Anschließend wird ein updatefound
-Listener hinzugefügt, in dem die Service Worker-Registrierung verwendet wird, um auf weitere Änderungen im Zustand des Service Workers zu lauschen. Wenn sich der Service Worker seit der letzten Registrierung nicht geändert hat, wird das updatefound
-Ereignis nicht ausgelöst.
if ("serviceWorker" in navigator) {
navigator.serviceWorker
.register("/sw.js")
.then((registration) => {
registration.addEventListener("updatefound", () => {
// If updatefound is fired, it means that there's
// a new service worker being installed.
const installingWorker = registration.installing;
console.log(
"A new service worker is being installed:",
installingWorker,
);
// You can listen for changes to the installing service worker's
// state via installingWorker.onstatechange
});
})
.catch((error) => {
console.error(`Service worker registration failed: ${error}`);
});
} else {
console.error("Service workers are not supported.");
}
Spezifikationen
Specification |
---|
Service Workers # serviceworkerregistration-interface |
Push API # extensions-to-the-serviceworkerregistration-interface |